mcp-proxy で MCP 接続を集約する
各種 MCP Host から個別に docker run したりコネクション張っていて無駄感あるので集約する
mcp-proxy の設定に集約
API キーや環境変数もここで管理
playwright の --viewport-size=1280,720 とかもね...
一部ツールの無効等もできる
launchd で立てる
~/Library/LaunchAgents/mcp-proxy.plist 置く
docker や claude に PATH 通す必要はある
各ツールでつなぎに行く
docker ps が 1/3 に
Proxy が死活見て次必要になったときに繋ぎ直すとかは欲しいところだが...
ほっとくと remote のやつはちょいちょい切れてる
再起動
$ launchctl kickstart -k gui/$(id -u)/mcp-proxy
code:mcp-proxy.json
{
"mcpProxy": {
"addr": ":7683",
"name": "MCP Proxy",
"options": {
"panicIfInvalid": false,
"logEnabled": true
}
},
"mcpServers": {
"fetch": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"--pull=always",
"mcp/fetch"
]
},
"deepwiki": {
},
...
}
}
code:~/LaunchAgents/mcp-proxy.plist
<?xml version="1.0" encoding="UTF-8"?>
<plist version="1.0">
<dict>
<key>Label</key>
<string>mcp-proxy</string>
<key>EnvironmentVariables</key>
<dict>
<key>PATH</key>
<string>/Users/pokutuna/.local/share/mise/installs/node/20.12.2/bin:/usr/local/bin:/usr/bin:/bin</string>
</dict>
<key>ProgramArguments</key>
<array>
<string>/Users/pokutuna/.local/share/mise/installs/go/1.24.0/bin/mcp-proxy</string>
<string>--config</string>
<string>/Users/pokutuna/Dropbox/mcp-proxy/config.json</string>
</array>
<key>StandardOutPath</key>
<string>/Users/pokutuna/logs/mcp-proxy.log</string>
<key>StandardErrorPath</key>
<string>/Users/pokutuna/logs/mcp-proxy.error.log</string>
<key>KeepAlive</key>
<true/>
</dict>
</plist>
これを立てた上で他のツールでつなぎに行く
code:roo.json
{
"mcpServers": {
"fetch": {
"alwaysAllow": [
"fetch"
]
},
"deepwiki": {
"alwaysAllow": []
}
},
...
Claude Desktop は URL にまだ対応していないので mcp-remote を挟む、まあ無駄
code:claude_desktop_config.json
"mcpServers": {
"claude-code": {
"command": "npx",
"args": [
"mcp-remote",
]
},
"fetch": {
"command": "npx",
"args": [
"mcp-remote",
]
},
...
}
claude-code は type 書く
code:~/claude.json
"mcpServers": {
"deepwiki": {
"type": "sse",
},
"fetch": {
"type": "sse",
}
...